home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / ubm_102.arc / EXAMPLES.DOC < prev    next >
Text File  |  1990-12-30  |  12KB  |  481 lines

  1. UM - Userlevel Maintainer definitionsfile. Version 1.01
  2. Copyright (c) Joep Vullinghs, 1990. All Rights Reserved.
  3.  
  4. This file contains 14 examples of definitions. Five of them are
  5. already listed in the UM.CFG-example. Note that, except for the
  6. last example, no keywords like ~USERSNAME~ are used. You are
  7. of course allowed to add them yourself.
  8. If you have got ideas to make a more complete summary of the
  9. possibilities of UM, please drop me a note at 2:283/201.
  10.  
  11. 1.  New users
  12. 2.  Expiring memberships
  13. 3.  Warning paying members about their level
  14. 4.  Warn naughty users
  15. 5.  Messages to all users
  16. 6.  Asking ANSI-users to use the full-screen editor
  17. 7.  Downloader who don't pay, nor load something up
  18. 8.  Sending message non-paying members that have called 15+ times
  19. 9.  Warning to users who don't call frequently
  20. 10. Purging users who haven't called in six months
  21. 11. Giving users membership-level
  22. 12. Asking users to change their passwords
  23. 13. Up/download ratios
  24. 14. TRASHCAN
  25.  
  26. 1. New users
  27.  
  28. This definition sends new users a message and also increases their level.
  29. In this example, level 5 is the level new users get, and level 10 is the
  30. level of "normal" users, i.e. users who have called more times and don't have
  31. a special level.
  32.  
  33. BEGIN
  34. FROM New user
  35. TO Normal user
  36. BEFORE
  37.  LEVEL 5
  38. AFTER
  39.  LEVEL 10
  40. MESSAGE
  41. Welcome!
  42.  
  43. You have been registered as a new user. Therefore, your level has been
  44. updated. The only strict rule on this BBS is that you are not allowed
  45. to shout at the sysop. Other rules will be made by me when I need them.
  46.  
  47. See ya around at this BBS!
  48.  
  49. Your sysop.
  50. $END
  51. SUBJECT Welcome!
  52. END
  53.  
  54.  
  55. 2. Expiring memberships
  56.  
  57. This example uses a counter in the HomePhone-field to determine if someone's
  58. Paying-membership has expired. Therefore, a USE HOMEPHONE must be used in UBM.CFG to
  59. make sure that UBM decrements the counters.
  60. To make someone a Paying-Member, give him the appropiate level and enter the
  61. number of days in the HomePhone-field (for example 365). In this example,
  62. paying members have level 500 and flag A1 set.
  63.  
  64. BEGIN
  65. FROM Paying member
  66. TO Normal user
  67. BEFORE
  68.  LEVEL 500
  69.  FLAG A X-------
  70.  HOMEPHONE 0
  71. AFTER
  72.  LEVEL 10
  73.  FLAG A 0-------
  74. MESSAGE
  75. Dear member,
  76.  
  77. as the paying-membership-period has expired, your level has been decreased to
  78. 10. Prolonging your membership costs only $10 a year.
  79.  
  80. I hope to see your check soon.
  81.  
  82. Your sysop.
  83. $END
  84. SUBJECT Membership expired
  85. END
  86.  
  87.  
  88. 3. Warning paying members about their level
  89.  
  90. If you want to have a message being send to users who are paying member,
  91. but who's membership is about to expire, use this definition.
  92.  
  93. BEGIN
  94. FROM Paying member
  95. TO Warned paying member
  96. BEFORE
  97.  LEVEL 500
  98.  FLAG A X-------
  99.  HOMEPHONE 14
  100. AFTER
  101. MESSAGE
  102. Dear member,
  103.  
  104. Your membership will expire in two weeks. Make sure to pay $10 within a few
  105. days or your level will be put back.
  106.  
  107. I hope to see your check soon.
  108.  
  109. Your sysop.
  110. $END
  111. SUBJECT Membership about to expire
  112. END
  113.  
  114. 4. Warn naughty users
  115.  
  116. If your users simply hang up if they want to leave your BBS instead of using
  117. the appropriate menu you could use this definition. It writes messages to
  118. those users. Some extra things need be done. You must reserve a flag to
  119. keep track of the users who disconnect badly. In this example I used the
  120. D1-flag. Two questionnaires must be made. The first is LOGON.Q-A which
  121. contains:
  122.  
  123. SETFLAG D1 ON
  124. QUIT
  125.  
  126. This questionnaire must be xecuted in your BBS immediately after a users has
  127. logged on. You could use an automatical menu-option in TOP.MNU for example.
  128. The second questionnaire is LOGOFF.Q-A which contains:
  129.  
  130. SETFLAG D1 OFF
  131. QUIT
  132.  
  133. LOGOFF.Q-A must be executed automatically at every "legal" exit of your
  134. BBS (for example in BYE.MNU).
  135.  
  136. Now D1 will be set if someone simply hung up instead of logging of.
  137. This will be used to write a message. Note that the user's level is not
  138. actually changed, only the D1-flag will be reset.
  139.  
  140. BEGIN
  141. FROM Foolish normal user
  142. TO Warned foolish user
  143. BEFORE
  144.  FLAG D 1-------
  145. AFTER
  146.  FLAG D 0-------
  147. MESSAGE
  148. Dear member,
  149.  
  150. Don't you ever, ever just disconnect again when you are connected to this BBS!
  151. The only legal way to leave this BBS is by using the [!]-key in the mainmenu.
  152.  
  153. Your sysop.
  154. $END
  155. SUBJECT Logging off
  156. END
  157.  
  158. Note that it is possible to use another flag to determine if a user logged off
  159. incorrectly before. You could use that flag to delete a user from your BBS.
  160.  
  161. 5. Messages to all users
  162.  
  163. This definition writes messages to all users at your BBS. It uses the C2-flag
  164. to determine whether a user already received a message or not.
  165. Note that by using combinations of flags you could write hundreds of letters.
  166.  
  167. BEGIN
  168. FROM User without C2-letter
  169. TO User with C2-letter
  170. BEFORE
  171.  FLAG C -0------
  172. AFTER
  173.  FLAG C -1------
  174. MESSAGE
  175. Hi,
  176.  
  177. This BBS needs sponsors! You could use this method of Direct-Mailing too.
  178. Costs only $1 for 50 messages!
  179.  
  180. Your sysop.
  181. $END
  182. SUBJECT Sponsors needed
  183. END
  184.  
  185.  
  186. 6. Asking ANSI-users to use the full-screen editor
  187.  
  188. A lot of users don't really understand what a full-screen editor is nor how
  189. it works. This definition looks if a user is capable of using ANSI by checking
  190. his ANSI-flag. If MBU finds a user who has got his ANSI-flag set, but his
  191. full screen editor-flag is not set, a message is send and C3 is set to make
  192. sure only one letter will be sent.
  193.  
  194. BEGIN
  195. FROM User without full screen editor
  196. TO Same user with letter
  197. BEFORE
  198.  FLAG C --0-----
  199.  ANSI EDITOR OFF
  200.  ANSI ON
  201. AFTER
  202.  FLAG C --1-----
  203. MESSAGE
  204. Hi,
  205.  
  206. You don't have your full screen editor-flag set! A full screen-editor is a
  207. very easy and fast program that makes writing messages a lot easier. For more
  208. info, see the bulletin "How to use the full screen-editor".
  209.  
  210. Your sysop.
  211. $END
  212. SUBJECT Full screen-editor.
  213. END
  214.  
  215.  
  216. 7. Downloader who don't pay, nor load something up.
  217.  
  218. This example sends a message to every user who doesn't upload much (less than
  219. 50 K), aren't paying members (level is 10) and have downloaded more than 500 K.
  220. C4 is used to determine if a user already received a letter. To make sure a
  221. user who logs on one time, downloads a lot and sends money immediately doesn't
  222. get bothered, the user must have called more than 6 times.
  223.  
  224. BEGIN
  225. FROM Annoying user
  226. TO Warned annoying user
  227. BEFORE
  228.  FLAG C ---0----
  229.  DOWNLOAD K > 500
  230.  UPLOAD K < 50
  231.  LEVEL 10
  232.  TIMES > 6
  233. AFTER
  234.  FLAG C ---1----
  235. MESSAGE
  236. Hi,
  237.  
  238. as you have downloaded a lot, but don't seem to pay, nor upload I ask you to
  239. send some money for the time you are occupying my system.
  240.  
  241. Your sysop.
  242. $END
  243. SUBJECT Upload or pay!
  244. END
  245.  
  246.  
  247. 8. Sending message non-paying members that have called 15+ times
  248.  
  249. This definition sends a warning to users who aren't paying members yet but
  250. have called more than 15 times. C5 is used to determine whether a users didn't
  251. get this already.
  252.  
  253. BEGIN
  254. FROM Calling but not paying user
  255. TO Same user, but warned
  256. BEFORE
  257.  FLAG C ----0---
  258.  TIMES > 15
  259.  LEVEL 10
  260. AFTER
  261.  FLAG C ----1---
  262. MESSAGE
  263. Hi,
  264.  
  265. This BBS was not meant to support users who call more than 15 times and don't
  266. want to pay for their hobby.
  267.  
  268. Your sysop.
  269. $END
  270. SUBJECT Pay or stop calling!
  271. END
  272.  
  273.  
  274. 9. Warning to users who don't call frequently.
  275.  
  276. If you're using a utility to purge users who haven't called for X days, you
  277. can use this definition to send them a warning. Note that you can use this
  278. example to send nice echomail to certain groups of users, too. 
  279.  
  280. BEGIN
  281. FROM Long time no see-user
  282. TO Same user, but warned
  283. BEFORE
  284.  DAYS AGO 90
  285. AFTER
  286. MESSAGE
  287. Hi,
  288.  
  289. This BBS clears up it's userbase by deleting users who's last call was more
  290. than half a year ago. So, if you don't want to risk being purged, call a bit
  291. more often.
  292.  
  293. Your sysop.
  294. $END
  295. SUBJECT Calling
  296. END
  297.  
  298.  
  299. 10. Purging users who haven't called in six months.
  300.  
  301. This definition actually deletes users who haven't called for six months.
  302.  
  303. BEGIN
  304. FROM Long time no see-user
  305. TO Same user, but deleted
  306. BEFORE
  307.  DAYS AGO 180
  308. AFTER
  309.  DELETE ON
  310. $END
  311. END
  312.  
  313. 11. Giving users membership-level
  314.  
  315. If you want users to have membership-level, use this definition. It looks at
  316. the D7-flag. If it's set, the user's A1-flag will be set, his level will
  317. be raised to 500 and his counter in HomePhone will be set to 365 days. The
  318. user's NO KILL flag will be set also. At last UBM writes a little message
  319. to tell the user his money has arrived. Then it resets the D7-flag to make
  320. sure the counter will not be raised every day.
  321.  
  322. BEGIN
  323. FROM Normal user with D7 set
  324. TO Member
  325. BEFORE
  326.  FLAG D ------1-
  327. AFTER
  328.  FLAG D ------0-
  329.  FLAG A 1-------
  330.  LEVEL 500
  331.  HOMEPHONE 365
  332.  NO KILL ON
  333. SUBJECT Membership
  334. MESSAGE
  335. Hi user,
  336.  
  337. I've increased your level to that of a paying member. Thanks for supporting
  338. this BBS! Your level will be decreased after a year. Two weeks before this
  339. period ends you will get a warning letter.
  340.  
  341. Good luck with your new level!
  342.  
  343. Your sincerely,
  344.  
  345. Joep Vullinghs,
  346. Sysop.
  347.  
  348. PS. If you don't call for a long time your record won't be deleted anymore.
  349. $END
  350. END
  351.  
  352. 12. Asking users to change their passwords.
  353.  
  354. This definition asks your users to change their password after they have
  355. called 5 times. D8 is used to check if a user already received this message.
  356.  
  357. BEGIN
  358. FROM Fifth time caller
  359. TO Fifth time caller with passw. warning.
  360. BEFORE
  361.  FLAG D -------0
  362.  TIMES = 5
  363. AFTER
  364.  FLAG D -------1
  365. SUBJECT Password
  366. MESSAGE
  367. Dear Mr. ~username~,
  368.  
  369. You have called more than 5 times now. It's time to change your password
  370. (now "~password~") to maintain full security.
  371.  
  372. Your sincerely,
  373.  
  374. Joep Vullinghs,
  375. Sysop.
  376. $END
  377. END
  378.  
  379. 13. Up/download ratios.
  380.  
  381. Although I don't like the idea of up/downloadratios myself, I decided to
  382. include that option, too. In this example, 10 is the level of normal users,
  383. i.e. the ONLY users whose level you want to be changed according to their
  384. ratio. This means that levels of, for instance, paying members won't be
  385. altered. If a user had downloaded too much his level will be decreased to
  386. 9. If he has level 9 and uploaded enough, his level will be increased again.
  387.  
  388. Users are allowed to download 200 k without uploading anything. That's why the
  389. following statement need be specified in the global part of the configuration-
  390. file:
  391.  
  392. FREE DOWNLOAD 500
  393.  
  394. If you wouldn't specify this, users wouldn't be able to download anything
  395. without uploading first.
  396.  
  397. You want users to be able download 5 times as much as they upload (disregarding
  398. the free download amount).
  399.  
  400. This is the definition that decreases the user's level:
  401.  
  402. BEGIN
  403. FROM Normal user
  404. TO No more download-user
  405. BEFORE
  406.  LEVEL 10
  407.  RATIO WORSE 5
  408. ; This condition is met if the user has downloaded MORE than
  409. ; 100 + 5 * <UserUpload>
  410. ; (100 = FreeDownload, 5 = limit-ratio)
  411. AFTER
  412.  LEVEL 9
  413. MESSAGE
  414. Hi ~username~,
  415.  
  416. You have downloaded too much! You have uploaded ~uploadk~. Therefore, you
  417. are allowed to download 500 K + 4 * ~uploadk~ K = ~allowed~ K. As you have
  418. downloaded ~downloadk~ K, you will have to upload first before you are allowed
  419. to download again.
  420.  
  421. Your sysop.
  422. $END
  423. ; end of message.
  424. SUBJECT Upload needed!
  425. END
  426.  
  427. And this is the definition that increases the level to 10 again.
  428.  
  429. BEGIN
  430. FROM No more download-user
  431. TO Normal user
  432. BEFORE
  433.  LEVEL 9
  434.  RATIO BETTER 5
  435. ; This condition is met if the user has downloaded LESS than
  436. ; 500 + 5 * <UserUpload>
  437. AFTER
  438.  LEVEL 10
  439. MESSAGE
  440. Hi ~username~,
  441.  
  442. Thanks for uploading! Now you are allowed to download again. You have
  443. uploaded ~uploadk~ K so the total amount of download you are entitled to is
  444. ~allowed~ K. You have downloaded ~downloadk~ K so there is ~left~ K left.
  445.  
  446. Your sysop.
  447. $END
  448. ; end of message.
  449. SUBJECT Download allowed again
  450. END
  451.  
  452.  
  453. 14. TRASHCAN
  454.  
  455. This definition deletes everyone whose name was specified in a list called
  456. TRASHCAN.UBM. Although the user will be deleted, a message is being written.
  457. NB 1. This message will only be read if the user logs on under the same name
  458. again. NB 2. With a few minor changes you can use this definition to
  459. increment someones level.
  460.  
  461. BEGIN
  462. FROM Normal user
  463. TO Deleted trash-user
  464. BEFORE
  465.  LEVEL 10
  466.  MEMBER OF TRASHCAN.UBM
  467. AFTER
  468.  DELETED ON
  469. MESSAGE
  470. Hi ~username~,
  471.  
  472. I can see you have logged again! You're not allowed to do so! Therefor, you
  473. will be deleted again.
  474.  
  475. Your sysop.
  476. $END
  477. ; end of message.
  478. SUBJECT You're not supposed to read this!
  479. END
  480.  
  481.